package com.jushu.storbox.database;

import java.util.List;

import com.jushu.storbox.entities.FileInfo;
import com.huawei.sharedrive.sdk.android.modelV2.response.FileInfoResponseV2;

public interface IShareFileDao extends IBaseDao {
	/**
	 * @param fileInfo
	 * @param context
	 */
	public long insertFile(FileInfoResponseV2 fileInfo);

	/**
	 * @param fileInfo
	 */
	public void updateFile(FileInfoResponseV2 fileInfoResponse,boolean issync);

	/**
	 * @param fileInfo
	 */
	public void updateFile(FileInfo fileInfo);

	/**
	 * @param fileInfo
	 */
	public void inserOrUpdateFile(FileInfoResponseV2 fileInfo);

	/**
	 * @param folderId
	 * @return
	 */
	public List<FileInfo> getFileList(String folderId , String ownerBy);
	
	
	/**
	 * @param flag --- 0:my cloud, 1:shared
	 * @param folderId
	 * @param currentPage
	 * @return
	 */
	public List<FileInfo> getFileListPage(int flag, String folderId);

	/**
	 * @param fileId
	 * @return
	 */
	public FileInfo getFileById(String fileId,String ownerBy);

	/**
	 * @param id
	 */
	public void deleteFile(String fileId,String ownerBy);


	/**
	 * @param fileId
	 * @param localPath
	 */
	public void updateLocalPath(String fileId, String ownerBy ,String localPath);

	/**
	 * @param status
	 * @param fileId
	 */
	public void updateTransStatus(int status, String fileId,String ownerBy);

	/**
	 * 
	 * @param syncStatus
	 * @param fileId
	 */
	public void updateSyncStatus(int syncStatus, String fileId,String ownerBy);
	public void deleteAll();


	public void cleanCatch();
}
